/*******************************************************************************
* Copyright (c) 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
******************************************************************************/
package org.eclipse.jface.tests.action;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.CoolBarManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.CoolBar;
import org.eclipse.swt.widgets.CoolItem;
/**
* @since 3.6
*/
public class CoolBarManagerTest extends JFaceActionTest {
private CoolBarManager coolBarManager;
private CoolBar coolBar;
public CoolBarManagerTest(String name) {
super(name);
}
@Override
protected void setUp() throws Exception {
super.setUp();
coolBarManager = new CoolBarManager(SWT.FLAT);
coolBar = coolBarManager.createControl(getShell());
}
public void testResetItemOrderBug293433() {
IToolBarManager manager = new ToolBarManager();
manager.add(new Action() {
});
coolBarManager.add(manager);
coolBarManager.update(true);
CoolItem[] items = coolBar.getItems();
assertEquals(1, items.length);
Control control = items[0].getControl();
// reset causes items to be disposed
coolBarManager.resetItemOrder();
// ensure that the control was actually disposed
assertTrue(control.isDisposed());
}
}